package cn.imnaer.service.rpc.userinfo.impl;

import cn.imnaer.service.persistence.model.MyConcernFriends;
import cn.imnaer.service.persistence.model.consts.MY_CONCERN_FRIENDS;
import cn.imnaer.service.rest.resquest.model.AgreeToAddFriends;
import cn.imnaer.service.rest.resquest.model.DeleteFriendParams;
import cn.imnaer.service.rest.view.model.SimpleUser;
import cn.imnaer.service.rpc.userinfo.RelationManagerRpcApi;
import cn.imnaer.service.rpc.userinfo.dao.FriendRelationDaoImpl;

import org.bson.BSONObject;
import org.bson.BasicBSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.List;

public class RelationManagerRpcApiImpl implements RelationManagerRpcApi {
	 private static Logger LOGGER = LoggerFactory.getLogger(RelationManagerRpcApiImpl.class);
    private FriendRelationDaoImpl friendRelationActiveRecord = FriendRelationDaoImpl.getInstance();
//
//    @Override
//    public List<SimpleUser> getFriendsList(String userId) {
//
//        BSONObject matcher = new BasicBSONObject();
//        matcher.put(MY_CONCERN_FRIENDS.userId, userId);
//        List<BSONObject> bsonList = this.friendRelationActiveRecord.getObjects(matcher, null);
//        List<SimpleUser> users = new ArrayList<SimpleUser>();
//        try {
//            for (BSONObject bsonObject : bsonList) {
//                MyConcernFriends friend = bsonObject.as(MyConcernFriends.class);
//                SimpleUser e = new SimpleUser();
//                e.setName(friend.getFriendName());
//                e.setUserId(friend.getFriendUserId());
//                users.add(e);
//            }
//
//        } catch (Exception e) {
//
//            e.printStackTrace();
//        }
//        bsonList = null;
//
//        return users;
//    }
//
//    @Override
//    public void requestAddFriend(MyConcernFriends myConcernFriends) {
//
//        this.friendRelationActiveRecord.insert(myConcernFriends);
//    }
//
//
//    @Override
//    public void agreeToAddFriends(AgreeToAddFriends params) {
//
//        BSONObject matcher = new BasicBSONObject();
//        matcher.put(MY_CONCERN_FRIENDS.friendUserId, params.userId);
//        matcher.put(MY_CONCERN_FRIENDS.userId, params.friendUserId);
//        if (!params.isAgree) {
//            this.friendRelationActiveRecord.delete(matcher);
//
//            //推送消息到对方
//        }
//        //修改数据库
//        else {
//            BSONObject obj = new BasicBSONObject();
//            obj.put("type", MyConcernFriends.TYPE_AGREE);
//            this.friendRelationActiveRecord.update(matcher, obj);
//            this.friendRelationActiveRecord.insert(params.transformMyConcernFrineds());
//
//
//            //推送消息到对方
//
//
//        }
//
//
//    }
//
//    @Override
//    public void deleteFriend(DeleteFriendParams params) {
//
//        BSONObject matcher = new BasicBSONObject();
//        matcher.put(MY_CONCERN_FRIENDS.friendUserId, params.friendUserId);
//        matcher.put(MY_CONCERN_FRIENDS.userId, params.userId);
//        this.friendRelationActiveRecord.delete(matcher);
//
//    }
//
//    @Override
//    public void isFriend(DeleteFriendParams params) {
//
//
//    }


}


































